package 面试经典150题.数组;

import java.util.Arrays;

/**
 * @author tmh
 * @date 2024/4/4 17:25
 * @description
 */
public class T80删除有序数组中的重复项II {
    public static void main(String[] args) {
        int[] array = new int[]{1, 1, 1, 2, 2, 3};
        removeDuplicates(array);
        System.out.println(Arrays.toString(array));
    }

    public static int removeDuplicates(int[] nums) {
        int index = 0;
        for (int x : nums) {
            //index<2是为了允许前面两个元素重复
            //后面的nums[index - 2] != x是判断的要是x和index的前面两个元素不一样的话，
            //那么就把x放在前面两个元素后面的位置，也就是index的位置
            if (index < 2 || nums[index - 2] != x) {
                nums[index] = x;
                index++;
            }
        }
        return index;
    }
}
